#ifndef _TOOL_RKAIQ_API_CMD_ID_H_
#define _TOOL_RKAIQ_API_CMD_ID_H_

#define CHECK_PARAM_SIZE(parmaStruct, dataSize)                                                                        \
    LOG_INFO("real struct size : 0x%lx, data size 0x%x\n", sizeof(parmaStruct), dataSize);                             \
    if (sizeof(parmaStruct) != dataSize) {                                                                             \
        LOG_INFO("The parameter does not match and will not take effect\n");                                           \
        return -1;                                                                                                     \
    }

enum
{
    ENUM_ID_AE_START = 0x1100,
    ENUM_ID_AE_SETEXPSWATTR,
    ENUM_ID_AE_GETEXPSWATTR,
    ENUM_ID_AE_SETLINAEDAYROUTEATTR,
    ENUM_ID_AE_GETLINAEDAYROUTEATTR,
    ENUM_ID_AE_SETLINAENIGHTROUTEATTR,
    ENUM_ID_AE_GETLINAENIGHTROUTEATTR,
    ENUM_ID_AE_SETHDRAEDAYROUTEATTR,
    ENUM_ID_AE_GETHDRAEDAYROUTEATTR,
    ENUM_ID_AE_SETHDRAENIGHTROUTEATTR,
    ENUM_ID_AE_GETHDRAENIGHTROUTEATTR,
    ENUM_ID_AE_QUERYEXPRESINFO,
    ENUM_ID_AE_SETLINEXPATTR,
    ENUM_ID_AE_GETLINEXPATTR,
    ENUM_ID_AE_SETHDREXPATTR,
    ENUM_ID_AE_GETHDREXPATTR,
    ENUM_ID_AE_END,
};

enum
{
    ENUM_ID_IMGPROC_START = 0x1200,
    ENUM_ID_IMGPROC_SETEXPMODE,
    ENUM_ID_IMGPROC_GETEXPMODE,
    ENUM_ID_IMGPROC_SETAEMODE,
    ENUM_ID_IMGPROC_GETAEMODE,
    ENUM_ID_IMGPROC_SETEXPGAINRANGE,
    ENUM_ID_IMGPROC_GETEXPGAINRANGE,
    ENUM_ID_IMGPROC_SETEXPTIMERANGE,
    ENUM_ID_IMGPROC_GETEXPTIMERANGE,
    ENUM_ID_IMGPROC_SETBLCMODE,
    ENUM_ID_IMGPROC_SETHLCMODE,
    ENUM_ID_IMGPROC_SETLEXPMODE,
    ENUM_ID_IMGPROC_GETLEXPMODE,
    ENUM_ID_IMGPROC_SETMLEXP,
    ENUM_ID_IMGPROC_GETMLEXP,
    ENUM_ID_IMGPROC_SETANTIFLICKERMODE,
    ENUM_ID_IMGPROC_GETANTIFLICKERMODE,
    ENUM_ID_IMGPROC_SETEXPPWRLINEFREQMODE,
    ENUM_ID_IMGPROC_GETEXPPWRLINEFREQMODE,
    ENUM_ID_IMGPROC_SETDAYNSWMODE,
    ENUM_ID_IMGPROC_GETDAYNSWMODE,
    ENUM_ID_IMGPROC_SETMDNSCENE,
    ENUM_ID_IMGPROC_GETMDNSCENE,
    ENUM_ID_IMGPROC_SETADNSENS,
    ENUM_ID_IMGPROC_GETADNSENS,
    ENUM_ID_IMGPROC_SETFLIGHTMODE,
    ENUM_ID_IMGPROC_GETFLIGHTMODE,
    ENUM_ID_IMGPROC_SETMFLIGHT,
    ENUM_ID_IMGPROC_GETMFLIGHT,
    ENUM_ID_IMGPROC_SETWBMODE,
    ENUM_ID_IMGPROC_GETWBMODE,
    ENUM_ID_IMGPROC_LOCKAWB,
    ENUM_ID_IMGPROC_UNLOCKAWB,
    ENUM_ID_IMGPROC_SETAWBRANGE,
    ENUM_ID_IMGPROC_GETAWBRANGE,
    ENUM_ID_IMGPROC_SETMWBSCENE,
    ENUM_ID_IMGPROC_GETMWBSCENE,
    ENUM_ID_IMGPROC_SETMWBGAIN,
    ENUM_ID_IMGPROC_GETMWBGAIN,
    ENUM_ID_IMGPROC_SETMWBCT,
    ENUM_ID_IMGPROC_GETMWBCT,
    ENUM_ID_IMGPROC_SETCRSUPPSN,
    ENUM_ID_IMGPROC_GETCRSUPPSN,
    ENUM_ID_IMGPROC_SETFOCUSMODE,
    ENUM_ID_IMGPROC_GETFOCUSMODE,
    ENUM_ID_IMGPROC_SETFOCUSWIN,
    ENUM_ID_IMGPROC_GETFOCUSWIN,
    ENUM_ID_IMGPROC_SETFIXEDMODECODE,
    ENUM_ID_IMGPROC_GETFIXEDMODECODE,
    ENUM_ID_IMGPROC_SETMINFOCUSDIS,
    ENUM_ID_IMGPROC_GETMINFOCUSDIS,
    ENUM_ID_IMGPROC_SETOPZOOMRANGE,
    ENUM_ID_IMGPROC_GETOPZOOMRANGE,
    ENUM_ID_IMGPROC_SETOPZOOMSPEED,
    ENUM_ID_IMGPROC_GETOPZOOMSPEED,
    ENUM_ID_IMGPROC_SETHDRMODE,
    ENUM_ID_IMGPROC_GETHDRMODE,
    ENUM_ID_IMGPROC_SETMHDRSTRTH,
    ENUM_ID_IMGPROC_GETMHDRSTRTH,
    ENUM_ID_IMGPROC_SETNRMODE,
    ENUM_ID_IMGPROC_GETNRMODE,
    ENUM_ID_IMGPROC_SETANRSTRTH,
    ENUM_ID_IMGPROC_GETANRSTRTH,
    ENUM_ID_IMGPROC_SETMSPANRSTRTH,
    ENUM_ID_IMGPROC_GETMSPANRSTRTH,
    ENUM_ID_IMGPROC_SETMTNRSTRTH,
    ENUM_ID_IMGPROC_GETMTNRSTRTH,
    ENUM_ID_IMGPROC_SETDHZMODE,
    ENUM_ID_IMGPROC_GETDHZMODE,
    ENUM_ID_IMGPROC_SETMDHZSTRTH,
    ENUM_ID_IMGPROC_GETMDHZSTRTH,
    ENUM_ID_IMGPROC_SETCONTRAST,
    ENUM_ID_IMGPROC_GETCONTRAST,
    ENUM_ID_IMGPROC_SETBRIGHTNESS,
    ENUM_ID_IMGPROC_GETBRIGHTNESS,
    ENUM_ID_IMGPROC_SETSATURATION,
    ENUM_ID_IMGPROC_GETSATURATION,
    ENUM_ID_IMGPROC_SETSHARPNESS,
    ENUM_ID_IMGPROC_GETSHARPNESS,
    ENUM_ID_IMGPROC_SETGAMMACOEF,
    ENUM_ID_IMGPROC_SETGRAYMODE,
    ENUM_ID_IMGPROC_GETGRAYMODE,
    ENUM_ID_IMGPROC_END,
};

enum
{
    ENUM_ID_ANR_START = 0x1300,
    ENUM_ID_ANR_SETBAYERNRATTR,
    ENUM_ID_ANR_GETBAYERNRATTR,
    ENUM_ID_ANR_SETMFNRATTR,
    ENUM_ID_ANR_GETMFNRATTR,
    ENUM_ID_ANR_SETUVNRATTR,
    ENUM_ID_ANR_GETUVNRATTR,
    ENUM_ID_ANR_SETYNRATTR,
    ENUM_ID_ANR_GETYNRATTR,

    ENUM_ID_ANR_SETATTRIB,
    ENUM_ID_ANR_GETATTRIB,
    ENUM_ID_ANR_SETLUMASFSTRENGTH,
    ENUM_ID_ANR_SETLUMATFSTRENGTH,
    ENUM_ID_ANR_GETLUMASFSTRENGTH,
    ENUM_ID_ANR_GETLUMATFSTRENGTH,
    ENUM_ID_ANR_SETCHROMASFSTRENGTH,
    ENUM_ID_ANR_SETCHROMATFSTRENGTH,
    ENUM_ID_ANR_GETCHROMASFSTRENGTH,
    ENUM_ID_ANR_GETCHROMATFSTRENGTH,
    ENUM_ID_ANR_SETRAWNRSFSTRENGTH,
    ENUM_ID_ANR_GETRAWNRSFSTRENGTH,
    ENUM_ID_ANR_END,
};

enum
{
    ENUM_ID_SHARP_START = 0X1400,
    ENUM_ID_SHARP_SET_ATTR,
    ENUM_ID_SHARP_GET_ATTR,
    ENUM_ID_SHARP_SET_IQPARA,
    ENUM_ID_SHARP_GET_IQPARA,
    ENUM_ID_SHARP_SET_EF_IQPARA,
    ENUM_ID_SHARP_GET_EF_IQPARA,
    ENUM_ID_SHARP_SET_STRENGTH,
    ENUM_ID_SHARP_GET_STRENGTH,
    ENUM_ID_SHARP_END,
};

enum
{
    ENUM_ID_SYSCTL_START = 0X1500,
    ENUM_ID_SYSCTL_GETVERSIONINFO,
    ENUM_ID_SYSCTL_SETCPSLTCFG,
    ENUM_ID_SYSCTL_GETCPSLTINFO,
    ENUM_ID_SYSCTL_QUERYCPSLTCAP,
    ENUM_ID_SYSCTL_SETWORKINGMODE,
    ENUM_ID_SYSCTL_ENQUEUERKRAWFILE,
    ENUM_ID_SYSCTL_END,
};

enum
{
    ENUM_ID_AHDR_START = 0X1600,
    ENUM_ID_AHDR_SETATTRIB,
    ENUM_ID_AHDR_GETATTRIB,
    ENUM_ID_AHDR_END,
};

enum
{
    ENUM_ID_AGAMMA_START = 0X1700,
    ENUM_ID_AGAMMA_SETATTRIB,
    ENUM_ID_AGAMMA_GETATTRIB,
    ENUM_ID_AGAMMA_END,
};

enum
{
    ENUM_ID_ADPCC_START = 0X1800,
    ENUM_ID_ADPCC_SETATTRIB,
    ENUM_ID_ADPCC_GETATTRIB,
    ENUM_ID_ADPCC_END,
};

enum
{
    ENUM_ID_DEHAZE_START = 0X1900,
    ENUM_ID_DEHAZE_SETATTRIB,
    ENUM_ID_DEHAZE_GETATTRIB,
    ENUM_ID_DEHAZE_END,
};

enum
{
    ENUM_ID_RKMEDIA_START = 0X1A00,
    ENUM_ID_RKMEDIA_SET_PARAMS,
    ENUM_ID_RKMEDIA_GET_PARAMS,
    ENUM_ID_RKMEDIA_END,
};

enum
{
    ENUM_ID_ACCM_START = 0X1B00,
    ENUM_ID_ACCM_SETATTRIB,
    ENUM_ID_ACCM_GETATTRIB,
    ENUM_ID_ACCM_QUERYCCMINFO,
    ENUM_ID_ACCM_END,
};

enum
{
    ENUM_ID_AWB_START = 0X1C00,
    ENUM_ID_AWB_SETATTRIB,
    ENUM_ID_AWB_GETATTRIB,
    ENUM_ID_AWB_QUERYWBINFO,
    ENUM_ID_AWB_END,
};

enum
{
    ENUM_ID_CPROC_START = 0X1D00,
    ENUM_ID_CPROC_SETATTRIB,
    ENUM_ID_CPROC_GETATTRIB,
    ENUM_ID_CPROC_END,
};

#endif // _TOOL_RKAIQ_API_CMD_ID_H_
